package com.zhouheng.springbootredis.module.girl.service;

import com.zhouheng.springbootredis.common.entity.Girl;
import com.zhouheng.springbootredis.common.entity.GirlInsertVo;

/**
 * girl服务层接口
 *
 * @author 周恒
 * @date 20190226 15:53:56
 * @since v1.0
 */
public interface GirlService {

    /**
     * 根据ID查找Girl
     *
     * 先从缓存中找，如果有直接返回
     * 再从数据库中找，找到了最后存入缓存
     *
     * @param id 描述此参数
     * @return 返回 girl 描述此返回参数
     * @author 周恒
     * @date 20190226 15:53:56
     * @since v1.0
     */
    Girl findOne(Integer id);

    /**
     * 更新用户
     *
     * 先更新数据库
     * 再查找缓存存在，就更新缓存
     * 缓存不存在，就不用管
     *
     * @param girl 描述此参数
     * @author 周恒
     * @date 20190226 15:53:56
     * @since v1.0
     */
    void updateGirl(Girl girl);

    /**
     * 根据ID删除Girl
     *
     * 先删除数据库
     * 如果缓存存在，再删除缓存
     *
     * @param id 描述此参数
     * @author 周恒
     * @date 20190226 15:53:56
     * @since v1.0
     */
    void deleteById(Integer id);

    /**
     * 保存一条girl
     *
     * @param girl 描述此参数
     * @author 周恒
     * @date 20190226 16:11:19
     * @since v1.0
     */
    void insert(GirlInsertVo girl);

}
